package de.mnit.schnipsel.swt;

import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;

import de.mnit.basis.daten.konstant.QUALITAET;
import de.mnit.basis.swt.anw.A_MN_Gruppe;
import de.mnit.basis.swt.element.S_SWT_Komponente;
import de.mnit.basis.swt.element.feld.werkzeug.knopf.SWT_WerkzeugTaster;
import de.mnit.basis.swt.element.steuer.rollbar.gruppe.SWT_WerkzeugLeiste;
import de.mnit.basis.swt.grafik.icon.direkt.ICON;
import de.mnit.basis.sys.event.S_Zuhoerer;
import de.mnit.basis.sys.sprache.S;
import de.mnit.schnipsel.zentral.SC_Events;
import de.mnit.schnipsel.zentral.SC_Zurueck;

/**
 * @author Michael Nitsche
 */
public class K_Werkzeug extends A_MN_Gruppe<K_Werkzeug> {

	public static void main(String[] args)   { start(K_Werkzeug.class,800,600); }


	private static final S s=new S(K_Werkzeug.class);
	private final SWT_WerkzeugLeiste k_leiste    = new SWT_WerkzeugLeiste().s1_Flach();


	protected S_SWT_Komponente<?, ? extends Composite> layout() {
		return t.k_leiste;
	}

	public void initStyle() {
	}

	public void initEvents() {
		if(QUALITAET.TEST.ok()) {
			final SWT_WerkzeugTaster zurueck=t.k_leiste.nFeldBild(ICON._24.PFEIL_LINKS, s.t("Artikel zurück"));
			zurueck.eAuswahl(new Listener() {
				public void handleEvent(Event event) {
					SC_Zurueck.i().zurueck();
				}
			});

			final SWT_WerkzeugTaster vor=t.k_leiste.nFeldBild(ICON._24.PFEIL_RECHTS, s.t("Artikel vor"));
			vor.eAuswahl(new Listener() {
				public void handleEvent(Event event) {
					SC_Zurueck.i().vor();
				}
			});
			SC_Zurueck.i().eAenderung(new S_Zuhoerer<Object>() {
				public void verarbeite(Object o) {
					zurueck.sAktiviert(SC_Zurueck.i().moeglichZurueck());
					vor.sAktiviert(SC_Zurueck.i().moeglichVor());
				}
			});
			zurueck.sAktiviert(false);
			vor.sAktiviert(false);

			t.k_leiste.nFeldTrenner();
		}

//		if(QUALITAET.INSTABIL.ok()) {
//			final SWT_WerkzeugTaster sync=t.k_leiste.nFeldBild(ICON._24.AKTION_AKTUALISIEREN, s.t("Sync")).eAuswahl(new Listener() {
//				public void handleEvent(Event event) {
//					SC_TCP_Client client=new SC_TCP_Client();
//					try {
//						client.start();
//					} catch (F_Sys_Sicherheit e) {
//						SWT_Fehler.zeig(e, false);
//					} catch (IOException e) {
//						SWT_Fehler.zeig(e, false);
//					} catch (F_Sys_InOut e) {
//						SWT_Fehler.zeig(e, false);
//					}
//				}
//			});
//		}

//		t.k_leiste.nFeldBild(ICON._16.OBJ_INTERNET, s.t("HTML erzeugen")).eAuswahl(new Listener() {
//			public void handleEvent(Event event) {
//				SC_Events.i().htmlExport();
//			}
//		});

//		t.k_leiste.nFeldBild(ICON.gib(16, "deb_tango", "printer.png"), s.t("Drucken")).eAuswahl(new Listener() {
//			public void handleEvent(Event event) {
//				SWT_DruckAuftrag druck=new SWT_DruckAuftrag(s.t("Schnipsel"), t.swt().getShell());
//				druck.sRand(1.5, 1.5, 1.5, 1.5);
//				druck.drucken(SC_GuiObs.i().anzeige().gEditor());
//			}
//		});

		if(QUALITAET.TEST.ok())
			t.k_leiste.nFeldBild(ICON._24.OBJ_WERKZEUG, s.t("Konfiguration")).eAuswahl(new Listener() {
				public void handleEvent(Event event) {
					SC_Events.konfig();
				}
			});
	}

}
